<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html  xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:pe="http://primefaces.org/ui/extensions"
	xmlns:ui="http://java.sun.com/jsf/facelets">
	
	<ui:composition template="index_soporteSchedule.xhtml">
	<ui:define name="content">
		<p:toolbar id="titulo" style="color:#FFFFFF;font-size:125%;font-weight: bold">
			<p:toolbarGroup align="left">
				<p:outputLabel value="Evaluacion de Petición de Laboratorio : #{laboScheduleController.nombrePeriodoActual}"/>
			</p:toolbarGroup>
		    
		</p:toolbar>
		<br/>
		<!-- Aqui iba idle -->
		
		<h:form id="formp">
			<p:growl id="growlC" showDetail="false" sticky="false" />
			<p:dataTable id="tablaPeticionesLabo" style="margin-left:0.5%;margin-right:0.5%"
				widgetVar="peticionesLaboTable" paginator="true" rows="6"
				value="#{laboScheduleController.listaPeticiones}" var="peticion"
				emptyMessage="No se han encontrado Peticiones"
				rowStyleClass="#{(peticion.visto) eq 1 ? 'visto' : 'no-visto'}"
				>
				<p:column headerText="Fecha de Emision">
				<h:outputText value="#{peticion.fechaSistema}">
						<f:convertDateTime type="date" timeZone="America/Lima"
							pattern="dd/MM/yyyy hh:mm:ss" />
				</h:outputText>
				</p:column>
				<p:column headerText="Nombre Solicitante" >
				#{peticion.nombrePersona}
				</p:column>
				<p:column headerText="Nombre Usuario" >
				#{peticion.nombreUsuario}
				</p:column>
				<p:column headerText="Nombre Evento">
				#{peticion.nombreEvento}
				</p:column>
				<p:column headerText="Laboratorio">
				#{peticion.nombreAula}
				</p:column>
				<p:column headerText="Fecha de Inicio de Evento">
				<h:outputText value="#{peticion.dia}">
						<f:convertDateTime type="date" timeZone="America/Lima"
							pattern="dd/MM/yyyy" />
				</h:outputText>
				</p:column>
				<p:column headerText="Hora Inicio:">
				<h:outputText value="#{peticion.hInicio}">
						<f:convertDateTime type="date" timeZone="America/Lima"
							pattern="HH:mm" />
				</h:outputText>
				</p:column>	
				<p:column headerText="Hora Fin:">
				<h:outputText value="#{peticion.hFin}">
						<f:convertDateTime type="date" timeZone="America/Lima"
							pattern="HH:mm" />
				</h:outputText>
				</p:column>	
				<p:column headerText="Numero de Semanas">
				#{peticion.numRep}
				</p:column>
				<p:column headerText="Evaluacion" id="columnaA">
				<h:outputText value="#{peticion.nombreRespuesta}"
				style="#{peticion.respuesta == -1 ? 'color:blue;font-weight:bold' : 
								peticion.respuesta == 1 ? 'color:green;font-weight:bold' :
								peticion.respuesta == 0 ? 'color:red;font-weight:bold' : 'color:black;font-weight:bold'}"/>
				</p:column>		
				<p:column>
					<p:commandButton id="evaluarBoton" value="Evaluar"
									update=":formp:tablaPeticionesLabo,:formI:display,:formI:crucePet,:petDig,:formI:botones"
									style="background-image:none;background-color:green;"
									icon="ui-icon-gear" 
									action="#{laboScheduleController.evaluacionPeticion}"
									oncomplete="PF('petDialog').show()"						
									disabled="#{peticion.dsblBtnEvaluar}"
									> 
									<f:setPropertyActionListener value="#{peticion}" target="#{laboScheduleController.peticionSelected}" /> 
					</p:commandButton>
				</p:column>
				</p:dataTable>
				<p:toolbar>
							<p:toolbarGroup align="left">
								<ul style="list-style: none;">
									<li><p:outputLabel value="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
											style="background-color:gray;" /> <p:outputLabel
											value="&nbsp;Evento revisado&nbsp;" /></li>
									<li><p:outputLabel value="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
											style="background-color:white;" /> <p:outputLabel
											value="&nbsp;Evento sin revisar&nbsp;" /></li>
								</ul>
							</p:toolbarGroup>
							
				</p:toolbar>
				<p:poll interval="1" listener="#{laboScheduleController.llenartablapeticiones}" update="tablaPeticionesLabo" />
		</h:form>
		
		<p:dialog header="Evaluacion de Peticion" widgetVar="petDialog" resizable="false" id="petDig"
						showEffect="fade" hideEffect="explode"	modal="false"
						closeOnEscape="true"
						style="text-align:center">
						<h:form id="formI">
						<h:panelGrid id="display" style="text-align:center;margin-left:auto;margin-right:auto"  columns="2" cellpadding="1">										
									<h:outputText value="Nombre Solicitante:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.nombrePersona}" />
									<h:outputText value="Nombre Persona:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.nombreUsuario}" />
									<h:outputText value="Correo Electronico de Contacto:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.email}" />										
									<h:outputText value="Nombre Evento:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.nombreEvento}" style="font-weight:bold"/>
									<h:outputText value="Motivo:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.motivo}" />
									<h:outputText value="Laboratorio:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.nombreAula}" />
									<h:outputText value="Fecha de inicio:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.dia}">
										<f:convertDateTime type="date" timeZone="America/Lima"
										pattern="dd/MM/yyyy" />
									</h:outputText>
									<h:outputText value="Numero de Semanas:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.numRep}" />
									<h:outputText value="Hora Inicio:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.hInicio}">
											<f:convertDateTime type="date" timeZone="America/Lima"
												pattern="HH:mm" />
									</h:outputText>
									<h:outputText value="Hora Fin:"/>
									<h:outputText value="#{laboScheduleController.peticionSelected.hFin}">
											<f:convertDateTime type="date" timeZone="America/Lima"
												pattern="HH:mm" />
									</h:outputText>												
							</h:panelGrid >
							<p:panelGrid id="crucePet" 
							style="text-align:center;border-color:white;border-style:none" 
							columns="1" 
							rendered="#{(laboScheduleController.cruPet) eq 1}">
							<h:outputText value="SE HAN DETECTADO CONFLICTOS ENTRE LAS PETICIONES RECIBIDAS" style="font-weight:bold"/>
							<h:outputText value="LA PETICION SELECCIONADA TIENE CONFLICTOS CON LAS SIGUIENTES PETICIONES" style="font-weight:bold"/>					
							<ui:repeat value="#{laboScheduleController.error}" var="error">
									<h:outputText value="#{error}" /><br/>
							</ui:repeat>
							<h:outputText value="DESEA ACEPTAR ESTA PETICION DE TODAS FORMAS? " style="font-weight:bold"/>
							<h:outputText value="ADVERTENCIA : DE ACEPTAR ESTA PETICION , AUTOMATICAMENTE RECHAZARÁ TODAS LAS PETICIONES LISTADAS ARRIBA" style="font-weight:bold;color:red"/>
							</p:panelGrid>
									<h:panelGrid id="botones" columns="3" cellpadding="1" style="margin: 0 auto;">
									<p:commandButton id="AceptarBoton"
										value="Aceptar"
										style="background-image:none;background-color:green"
										icon="ui-icon-gear"
										action="#{laboScheduleController.verificarCruces}" 
										update=":formp:tablaPeticionesLabo,:formC"
										onstart=" PF('petDialog').hide(),PF('statusDialog').show()"
										oncomplete="PF('statusDialog').hide(),PF('conDialog').show()"
										rendered="#{(laboScheduleController.peticionSelected.respuesta) eq -1}"														
										> 					
									</p:commandButton>
									<p:commandButton id="rechazarBoton"
										value="Rechazar "
										update=":#{p:component('formp')},:formD"
										style="background-image:none;background-color:red;"
										icon="ui-icon-gear"
										action="#{laboScheduleController.rechazarEvento}"
										onstart=" PF('petDialog').hide(),PF('statusDialog').show()"
										oncomplete="PF('statusDialog').hide(),PF('denDialog').show()"	
										rendered="#{(laboScheduleController.peticionSelected.respuesta) eq -1}"																
										> 									
									</p:commandButton>
									<p:commandButton id="revertirBoton"
										value="Revertir "
										style="background-image:none;background-color:blue;"
										icon="ui-icon-gear"
										action="#{laboScheduleController.revertirEvento}"
										
										update=":#{p:component('formp')},:formp:tablaPeticionesLabo:columnaA"
										
										onstart=" PF('petDialog').hide(),PF('statusDialog').show()"
										oncomplete="PF('statusDialog').hide(),PF('revDialog').show()"	
										rendered="#{!((laboScheduleController.peticionSelected.respuesta) eq -1)}"																
										> 									
									</p:commandButton>
									<p:commandButton id="cancelarBoton"
										value="Cancelar "
										update=":#{p:component('formp')}"
										style="background-image:none;background-color:black"
										icon="ui-icon-gear"										
										oncomplete="PF('petDialog').hide()"																	
										> 									
									</p:commandButton>
	
										
									</h:panelGrid>
									</h:form>
			</p:dialog>
			<p:dialog header="Confirmacion" widgetVar="conDialog" resizable="false" id="conDig"
						showEffect="fade" hideEffect="explode"	modal="false"
						closeOnEscape="false"
						closable="false"
						style="text-align:center">
						<h:form id="formC">
							<h:panelGrid id="NoCruce" style="text-align:center;margin-left:auto;margin-right:auto"  columns="1" cellpadding="1" rendered="#{(laboScheduleController.exCruce) eq 0}">										
										<h:outputText value="Evento Aceptado Satisfactoriamente" style="font-weight:bold;color:green">
										</h:outputText>						
							</h:panelGrid >
							<h:panelGrid id="SiCruce" style="text-align:center;margin-left:auto;margin-right:auto"  columns="1" cellpadding="1" rendered="#{(laboScheduleController.exCruce) eq 1}">										
										<h:outputText value="Existe Cruce de Horarios con el Evento que esta tratando de Aceptar" style="font-weight:bold"/><br/>
										<h:outputText value="Los eventos o clases que generan el cruce de horarios son los siguientes">
										</h:outputText><br/>
										<ui:repeat value="#{laboScheduleController.error2}" var="error2">
												<h:outputText value="#{error2}" style="font-weight:bold"/><br/>
										</ui:repeat>
										<br/>		
										
										<h:outputText value="ESTE EVENTO SERA DENEGADO AUTOMATICAMENTE" style="font-weight:bold;color:red"/>
							</h:panelGrid >
										<p:commandButton id="OkBoton"
										value="OK "
										update=":#{p:component('formp')}"
										style="background-image:none;background-color:black"
										icon="ui-icon-gear"										
										oncomplete="PF('conDialog').hide(),PF('statusDialog').hide()"																	
										> 									
									</p:commandButton>		
						</h:form>
			</p:dialog>
			<p:dialog header="Confirmacion" widgetVar="denDialog" resizable="false" id="denDig"
						showEffect="fade" hideEffect="explode"	modal="false"
						closeOnEscape="false"
						closable="false"
						style="text-align:center">
						<h:form id="formD">
							<h:panelGrid id="Denied" style="text-align:center;margin-left:auto;margin-right:auto"  columns="1" cellpadding="1">										
										<h:outputText value="EVENTO DENEGADO SATISFACTORIAMENTE" style="font-weight:bold;color:red">
										</h:outputText>						
							</h:panelGrid >
										<p:commandButton id="OkBotonD"
										value="OK "
										update=":#{p:component('formp')}"
										style="background-image:none;background-color:black"
										icon="ui-icon-gear"										
										oncomplete="PF('denDialog').hide(),PF('statusDialog').hide()"																	
										> 									
									</p:commandButton>		
						</h:form>
			</p:dialog>
			<p:dialog widgetVar="statusDialog" modal="false" draggable="false" closable="false" resizable="false" showHeader="true" header="PROCESANDO...">
			<h:panelGrid style="text-align:center;margin-left:auto;margin-right:auto" columns="1">			
				<h:outputText value="ESTAMOS PROCESANDO LA DECISION..."/><br/>
			    <p:graphicImage value="/resources/img/progress_bar.gif" style="text-align:center;margin-left:auto;margin-right:auto"/>
			    </h:panelGrid>
			</p:dialog>
			
			<p:dialog widgetVar="revDialog" modal="false" draggable="false" closable="false" resizable="false" showHeader="true" header="Confirmacion...">
				<h:outputText value="EVENTO REVERTIDO SATISFACTORIAMENTE"/><br/>
				<h:panelGrid style="text-align:center;margin-left:auto;margin-right:auto" columns="1">
				<p:commandButton id="OkBotonD"
										value="OK "
										update=":#{p:component('formp')}"
										style="background-image:none;background-color:black;margin-left:auto;margin-right:auto"
										icon="ui-icon-gear"										
										oncomplete="PF('revDialog').hide(),PF('statusDialog').hide()"																	
										> 									
				</p:commandButton>	
				</h:panelGrid>
			</p:dialog>
			
	<style>
		.no-visto {
		     background-color: #ffffff !important;
		     background-image: none !important;
		     color: #000000 !important;
		     font-weight: bold;
		}
		               
		.visto {
		    background-color: gray !important;
		    background-image: none !important;
		    color: white !important;
		}
		</style>	
	</ui:define>
	</ui:composition>

</html>